package org.stvd.entities.workflow;

import java.util.Map;

import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;

/**
 * @Title WfEntity
 * @Destribution 工作流对象封装
 * @author houzx
 * @date 2020年10月27日
 */
public class WfEntity{
    
    private WfIndex wfIndex = null;
    /**
     * 业务对象
     */
    private Object entity = null;
    /**
     * 流程任务
     */
    private Task task = null;
    /**
     * 流程变量
     */
    private Map<String, Object> variables = null;
    /**
     * 运行中的流程实例
     */
    private ProcessInstance processInstance = null;
    /**
     * 历史的流程实例
     */
    private HistoricProcessInstance historicProcessInstance = null;
    /**
     * 流程定义
     */
    private ProcessDefinition processDefinition = null;
    /**
     * 流程状态
     */
    private String status = "";
    
    public WfIndex getWfIndex() {
        return wfIndex;
    }

    public void setWfIndex(WfIndex wfIndex) {
        this.wfIndex = wfIndex;
    }

    public Object getEntity() {
        return entity;
    }

    public void setEntity(Object entity) {
        this.entity = entity;
    }

    public Task getTask() {
        return task;
    }

    public void setTask(Task task) {
        this.task = task;
    }

    public Map<String, Object> getVariables() {
        return variables;
    }

    public void setVariables(Map<String, Object> variables) {
        this.variables = variables;
    }

    public ProcessInstance getProcessInstance() {
        return processInstance;
    }

    public void setProcessInstance(ProcessInstance processInstance) {
        this.processInstance = processInstance;
    }

    public HistoricProcessInstance getHistoricProcessInstance() {
        return historicProcessInstance;
    }

    public void setHistoricProcessInstance(HistoricProcessInstance historicProcessInstance) {
        this.historicProcessInstance = historicProcessInstance;
    }

    public ProcessDefinition getProcessDefinition() {
        return processDefinition;
    }

    public void setProcessDefinition(ProcessDefinition processDefinition) {
        this.processDefinition = processDefinition;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

}
